package com.baili.dao.distribution;

import java.util.List;
import java.util.Map;

import com.baili.dto.ProductOrder;

/** 
 * @author iceX
 * @version 创建时间：2016年4月14日 下午5:41:56 
 * @Name: DistributionDao.java
 */
public interface DistributionDao {

	/**
	 * 配帮人员查询
	 * @param productOrder
	 * @return
	 */
	public List<Map<String, Object>> getDistributionList(ProductOrder productOrder);
	/**
	 * 配帮人员查询
	 * @param productOrder
	 * @return
	 */
	public List<Map<String, Object>> getDistributionListBPOI(ProductOrder productOrder);
	/**
	 * 配帮人员查询
	 * @param productOrder
	 * @return
	 */
	public List<Map<String, Object>> getDistributionListBPOIP(ProductOrder productOrder);

	/**
	 * 配帮人员查询详情
	 * @param productOrder
	 * @return
	 */
	public List<Map<String, Object>> getDistributionDetail(ProductOrder productOrder);
	
	/**
	 * 配帮查询总数量
	 * @param productOrder
	 * @return
	 */
	public int getDistributionCount();

	/**
	 * 查询未配帮数量
	 * @param productOrder
	 * @return
	 */
	public int noMatchingStaffTypeCount();
	/**
	 * 查询可配帮数量
	 * @param productOrder
	 * @return
	 */
	public int matchingStaffTypeCount();
	
	/**
	 * 查询配帮信息详情（定额领料单）
	 * @param productOrder
	 * @return
	 */
	public List<Map<String, Object>> getDistributionByNormed(ProductOrder productOrder);
	/**
	 * 查询配帮总条数（定额领料单）
	 * @param productOrder
	 * @return
	 */
	public List<Map<String,Object>> getNormedCountB(ProductOrder productOrder);

	/**
	 * 查询可配帮总条数（定额领料单）
	 * @param productOrder
	 * @return
	 */
	public List<Map<String,Object>> getNormedCountZ(ProductOrder productOrder);
	
	/**
	 * 查询未配帮总条数（定额领料单）
	 * @param productOrder
	 * @return
	 */
	public List<Map<String,Object>> getNormedCountC(ProductOrder productOrder);
	/**
	 * 更新配帮信息（生产通知单）
	 * @param productOrder
	 * @return
	 */
	public void updateDistribution(ProductOrder productOrder);
	/**
	 * 更新配帮信息（定额领料单）
	 * @param productOrder
	 * @return
	 */
	public void updateDistributionByNormed();
	
	public List getDistributionBySize(ProductOrder productOrder);

}
